package com.aspose.cells;

abstract class zr extends zg {
   public abstract void j(int var1, int var2);

   public abstract int a(int var1, zbbj var2, int var3);

   public abstract zp f(int var1);

   public abstract zp a(Object var1);

   public abstract void a(int var1, int var2, int var3, int var4);

   public abstract zbbj b(int var1, zbbj var2, int var3);

   public abstract void c(int var1, zbbj var2, int var3);

   public abstract byte k(int var1, int var2);

   public abstract void a(int var1, int var2, byte var3);

   public abstract int g(int var1);

   public void a(boolean var1) {
   }

   public zp[] l(int var1, int var2) {
      int var3 = this.b(var1);
      if (var1 == var2) {
         return var3 < 0 ? null : new zp[]{this.f(var3)};
      } else {
         int var4;
         if (var3 < 0) {
            var3 = -var3 - 1;
            var4 = this.a(var2, var3, -1);
            if (var4 < 0) {
               var4 = this.a(-var4 - 1, true);
               if (var4 < var3) {
                  return null;
               }
            }
         } else {
            var4 = this.a(var3, false);
            if (var4 < 0) {
               return new zp[]{this.f(var3)};
            }

            var4 = this.a(var2, var4, -1);
            if (var4 < 0) {
               var4 = this.a(-var4 - 1, true);
            }
         }

         zp[] var5 = new zp[this.e(var3, var4)];

         for(int var6 = 0; var6 < var5.length; ++var6) {
            var5[var6] = this.f(var3);
            var3 = this.a(var3, false);
         }

         return var5;
      }
   }

   public int a(int var1, zp var2, boolean var3) {
      zbbj var4 = var2.a(new zbbj(), 15);
      var1 = this.a(var1, var4, var2.a());
      zp var5 = this.f(var1);
      if (var2.a() > 0) {
         var5.a(-1, var2, -1, var2.a(), var3);
      }

      return var1;
   }

   public abstract int a(int var1, zr var2, int var3, int var4, boolean var5);

   public zafu a(Cells var1, RowCollection var2, int var3) {
      return new zgv(var1, var2);
   }

   public boolean c() {
      return true;
   }
}
